`:top
A `!reference architecture`! in the field of `F33f`_`[software architecture`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_architecture]`_`f or `F33f`_`[enterprise architecture`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Enterprise_architecture]`_`f provides a template solution for an architecture for a particular domain. It also provides a common vocabulary with which to discuss `F33f`_`[implementations`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Reference_implementation]`_`f, often with the aim to stress commonality. A `!software reference architecture`! is a `F33f`_`[software architecture`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_architecture]`_`f`:cite-ref-dsa2-1-0[`F5bf`_`[1`#cite-note-dsa2-1]`_`f] where the structures and respective elements and relations provide templates for concrete architectures in a particular domain or in a family of `F33f`_`[software systems`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_system]`_`f.
An implementation of a reference architecture is called a `F33f`_`[framework`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Application_framework]`_`f or an `F33f`_`[application platform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Application_platform]`_`f.
A reference architecture often consists of a list of `F33f`_`[functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Subroutine]`_`f and some indication of their `F33f`_`[interfaces`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_interface]`_`f (or `F33f`_`[APIs`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=API]`_`f) and interactions with each other and with functions located outside of the scope of the reference architecture.
Reference architectures can be defined at different levels of abstraction. A highly abstract one might show different pieces of equipment on a `F33f`_`[communications network`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Communications_network]`_`f, each providing different functions. A lower level one might demonstrate the interactions of `F33f`_`[procedures`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Procedure_(computer_science)]`_`f (or `F33f`_`[methods`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Method_(computer_science)]`_`f) within a computer program defined to perform a very specific task.
A reference architecture provides a template, often based on the generalization of a set of solutions. These solutions may have been generalized and structured for the depiction of one or more architecture structures based on the harvesting of a set of patterns that have been observed in a number of successful implementations. Further it shows how to compose these parts together into a solution. Reference Architectures will be instantiated for a particular domain or for specific projects.
Adopting a reference architecture within an organization accelerates delivery through the re-use of an effective solution and provides a basis for governance to ensure the consistency and applicability of technology use within an organization. In the field of software architecture, many empirical studies have shown the following common benefits and drawbacks from adopting a software reference architecture within organizations: (a) improvement of the `F33f`_`[interoperability`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Interoperability]`_`f of the software systems by establishing a standard solution and common mechanisms for `F33f`_`[information exchange`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Information_exchange]`_`f; (b) reduction of the development costs of `F33f`_`[software projects`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_project]`_`f through the reuse of common assets; (c) improvement of the communication inside the organization because stakeholders share the same architectural mindset; and, (d) influencing the `F33f`_`[learning curve`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Learning_curve]`_`f of `F33f`_`[developers`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_developer]`_`f due to the need of learning its features.`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f]
>>Contents
• `F0af`_`[Examples`#examples]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f
-─
>>Examples
• The `F33f`_`[Java Platform, Enterprise Edition`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Platform,_Enterprise_Edition]`_`f (`F33f`_`[Java EE`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_EE]`_`f) architecture is a layered reference architecture which provides a template solution for many enterprise systems developed in Java. Examples of implementing frameworks include `F33f`_`[Glassfish`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=GlassFish]`_`f and `F33f`_`[Wildfly`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Wildfly]`_`f.
• The IBM Insurance Application Architecture`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f] is a reference architecture for the Insurance domain.
• `F33f`_`[AUTOSAR`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=AUTOSAR]`_`f is a `F33f`_`[component-based`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Component-based_software_engineering]`_`f reference architecture for safety-critical and automotive software Automative Open System Architecture.
• Eclipse Microprofile as a reference architecture for Java-based microservices systems Eclipse Microprofile.
• `F33f`_`[Eulynx`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Eulynx]`_`f is a reference architecture for railway signalling systems.
• The Health Enterprise Reference Architecture (HERA), currently under development by `F33f`_`[The Open Group`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=The_Open_Group]`_`f, is a reference architecture for the health care domain`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f]
>>See also
• `F33f`_`[Business reference model`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Business_reference_model]`_`f
• `F33f`_`[Enterprise architecture framework`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Enterprise_architecture_framework]`_`f
• `F33f`_`[Generalised Enterprise Reference Architecture and Methodology`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Generalised_Enterprise_Reference_Architecture_and_Methodology]`_`f (GERAM)
• `F33f`_`[Reference model`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Reference_model]`_`f
>>References
`:cite-note-dsa2-1`!1.`! `F0af`_`[↑`#cite-ref-dsa2-1-0]`_`f `:citerefclementsfelix-bachmannlen-bassdavid-garlan2010`aClements, Paul; Felix Bachmann; `F33f`_`[Len Bass`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Len_Bass]`_`f; David Garlan; James Ivers; Reed Little; Paulo Merson; Robert Nord; Judith Stafford (2010). `*Documenting Software Architectures: Views and Beyond, Second Edition`*. Boston: Addison-Wesley. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-0-321-55268-6.
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f `:citerefmartinez-fernandezmedeiros-dos-santosayalafranch2015`aMartinez-Fernandez, Silverio; Medeiros Dos Santos, Paulo Sergio; Ayala, Claudia P.; Franch, Xavier; Travassos, Guilherme H. (2015). "Aggregating Empirical Evidence about the Benefits and Drawbacks of Software Reference Architectures". `*2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)`*. pp. 1–10. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1109/ESEM.2015.7321184. `F33f`_`[hdl`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Hdl_(identifier)]`_`f:2117/80457. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-1-4673-7899-4. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 8252919.
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f The IBM Insurance Application Architecture
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f Healthcare Enterprise Reference Architecture (HERA)
`c`F0af`_`[↑ Back to top`#top]`_`f`a